package Controlador;

import javax.persistence.Query;
import javax.persistence.EntityManager;

import Modelo.*;

public class ClienteDAO {
	
	public void create (ICliente cliente){
		
		if (findClienteByNif(cliente.getNif())==null){
			EntityManager em = Singleton.getInstance();
			em.getTransaction().begin();
			em.persist(cliente);
			em.getTransaction().commit();
			
			System.out.println("Se Crea");
		}else{
			System.out.println("No se crea");
		}
			
	}
	
	public void updateCliente (ICliente c){
		
		c.setIdCliente((findClienteByNif(c.getNif())).getIdCliente());
		
		EntityManager em = Singleton.getInstance();
		em.getTransaction().begin();
		em.merge(c);
		em.getTransaction().commit();
	}
	

	public ICliente findClienteByNif (String dni){
				
		EntityManager em = Singleton.getInstance();
		Query query = em.createNamedQuery("Cliente.findByNif");
		query.setParameter("nif", dni);
		return (Cliente) query.getSingleResult();
	}

}
